refactor(rating): compatibility with AngularJS 1.2
style(buttons): cleanup button formatting

Normalize spacing issues
docs(modal): add `template` parameter to documentation

Closes #1026
refactor(tabs): remove unused dependency injections

Closes #1009
fix(typeahead): do not set editable error when input is empty

Closes #1038
fix(accordion): assign `is-open` to correct scope

Closes #1034
fix(typeahead): remove popup flickering

Closes #1011
feat(datepicker): add i18n support for bar buttons in popup

Closes #777
fix(typeahead): don't show matches if an element is not focused

Closes #964
chore(demo): fix custom build link

Closes #1054
style(all): remove unneccessary px declarations from values set to 0
fix(tabs): initial tab selection

Closes #834, Fixes #747

- Avoid re-initializing `tab.active`
- `setActive` only when all `tab.active` are set up (on the next
  digest cycle)

Before I go to explain, there are up to two expressions that indicate
whether a tab is active:

  1. `active` variable in the isolate scope of the tab directive
  2. The expression from the active attribute (`attrs.active`) if it
     is set, I'll call this `getActive`, as that's the variable that
     refers to it.

During initial linking (adding of tabs), the `active` variable in the
tab's isolate scope tracks the active tab. When the first tab is
added, it's `active` is set to true since there's no way to know if
subsequent tabs are active since they haven't been added yet. As such,
at this point, it is not meaningful to set assign the `getActive`
with the value of `active`. At least not until all the tabs have been
added. Hence, a good time would be to wait until the next $digest
cycle.

A watcher is called asynchronously after initialization even if there
is no change on the expression's value.

As such, we can leave that to the watcher for the `active` expression
to initialize getActive by calling setActive during its initlization
cycle.

However, there is a chance (if the $digest cycles and planets
align...) that the `active` variable gets initialized a second time
using the `getActive` (in the watcher for `getActive`). Since we're
already setting `active` to `getActive`, and the `active` variable
should now be carrying the *truth*. Avoid this re-initialization.
docs(README): Add david-dm.org devDependencies status image
feat(datepicker): dynamic date format for popup

Closes #1071
refactor(datepicker): removed duplicated css class in a template
fix(pagination): fix altering of current page caused by totals change

Closes #1079
chore(demo): document BS's supported version & link to dependencies

Closes #1093
fix(timepicker): use html5 for input elements
fix(pagination): handle extreme values for `total-items`

Closes #1104
docs(README): add build instructions for explicit modules