Add support for <input type="date"/>

This is to at least partially address #757

The idea is to add support for existing HTML5 implementations of `<input type="date"/>` while supporting a text version for older browsers that handles the appropriate HTML5 validations.

Additionally, an Angular-specific attribute was added (`ng-output-date`) to give the developer the option to output the value to the model as a Date object rather than the default string.

All string are expected in the HTML spec compliant ISO-8601 date strings: 'YYYY-MM-DD'

Hopefully this lays the groundwork for other similar input types such at `datetime`, `month`, `datetime-local`, etc.