feat(datepicker): add `datepicker-mode`, `init-date` & today hint

 * Add two-way binded `datepicker-mode`.
 * Add optional `init-date` when no model value is specified.
 * Add hint for current date.
 * Use isolated scope for popup directive.
 * Use optional binding for `isOpen`.
 * Split each mode into it's own directive.

Closes #1599

BREAKING CHANGE:
`show-weeks` is no longer a watched attribute
`*-format` attributes have been renamed to `format-*`
`min` attribute has been renamed to `min-date`
`max` attribute has been renamed to `max-date`
refactor(rating): evaluate attributes inside init function

Closes #1590
Closes #1768
refactor(pagination): remove unused watch

Closes #1769
fix(typeahead): correctly higlight numeric matches

Fixes #1777
refactor(typeahead): use `ng-if` and `track by` in template

Closes #1722
demo(typeahead): correct demo for asyn results

Fixes #1740
refactor(datepicker): track buttons by date instead of $index
refactor(pagination): move boundary & directions to the template

Closes #795
Closes #1770