Implement basic support for entering (partial) dates in the input field.

We needed some basic editable input field support (users are supposed to enter partial dates and have those parsed back into the component).

This patch implements this with a few tests. It's far from perfect but already useful for us.