Make the library more 'featureful'

Adds an additional 'options' argument.
Sets some default options.
Allows an initial value for the date to be specified.
Adds the ability to format the date. (See #6)
Adds a change event that's emitted when the date is changed.
Adds show/hide methods.