input-method: Simplify resetting of input state
We have current and pending state and the code uses struct assignments between them and resets and frees in multiple places.
Introduce a reset() function so we can unify that.
While looking at !4497 (merged) I had a bit of a hard time ensuring we free()
in the right places. This is an attempt to make the ownership more obvious.
/cc @praschke