Defer error handling of runInputForm to user code.

Input forms are handy because they leave the user complete control of the markup, which is often necessary.
One thing makes them unusable though, and that's the error handling. Redirecting to an error page (invalidArgs) is something users will never accept, as opposed to displaying an error message above the form and letting the user try again.
This is a first attempt at enabling this. I'm very happy to get feedback and improve this, considering that I'm a beginner at Yesod, and that I'm aware this is a ridiculously simple solution (and may need to be propagated to runInputGet).
I'm also aware it breaks backwards compatibility for those unhappy few who have used runInputPost before. Please consider this a start to the discussion.