fix: revert removal of unnecessary timeouts to hookup events

The timeouts are needed to hookup the events to prevent event bubbling from being processed imediately. (reverted from commit fe967a8140bb76719ac87312417de1daaaff0220)
fix(datepicker): initial value with ng-required attribute

When using ng-required attribute in datepicker element in Angular 1.3, the element was not passing validation because it was returning a date object from the $formatter. With the new 1.3 pipeline, the $formatter needs to return a string when using an input type="text" element.

Same fix as was done for timepicker (f65fe9ff79c5fa5a3055d4fac82bed1d3bf9f1ca)