Abstracted DateInput and added Key handlers

Supported keys:
- ArrowUp: increase date type (year/month/day)
- ArrowDown: decrease date type (year/month/day)
- Enter: close date-picker
I don't really like doing so much logic in the initialisation, why not clone here?