DRIP: Defending Prompt Injection via Token-wise Representation Editing and Residual Instruction Fusion