chore(readme): Fix typos in demo readme file
fix(header): Show day header on hour view and week & month headers on day view

Depending on the current view scale the day or week & month is additionally shown in the header. Otherwise it is impossible to see from day numbers only what the current month or year is.

This commit fixes a regression introduced with d83f0e3dafd92b33dff5df9915d1967cfd5b7536
fix(demo): Reload button has no functionality

Missing event handler for the reload button added. On click the sample data will be loaded again.
fix(demo): Dist files are not up to date
feat(gantt-label): Add attribute for showing or hiding column of labels

In some circumstances, for example where the screen estate is scarce, it
is useful to be able to hide the column of labels to get a better
overview. This is a missing so far.
fix(scroll): Update scroll data when rows are added

This fix an issue visible when loading data in a deffered function.

Columns labels where hidden in this case, because container height/left was
not updated when rows are added.

Close #186
perf(scroll): Add missing debounce on scroll

This enhance performance when scrolling the gantt.
perf(scroll): Disable ngAnimate

This disables ngAnimate on directive to have better performance when scrolling.
fix(angular): Add prefix in front of all Gantt factories and services

 If the Gantt is used together with other modules e.g. Angular-Strap then the dependency injection is using components from other modules instead of the Gantt components. For example the debounce functionality is taken from Angular-Strap (in case of our demo app) instead of the Gantt debounce functionality.

 Fixes #189
refactor(columns): Use momentjs for column handling

This is a big refactor in column handling using momentJS features.

view-scale now supports any of momentJS unit, like year, quarter and minute.

headers-* options have been dropped, in favor of headers and headersFormats (see README).

This drops support of everything related to working hours, weekends and column-sub-scale. Those options will be replaced by #126 and #123.

Close #79
feat(calendar): Add calendar factory

This add the calendar factory, to support configuration of timeFrame, dateFrame and timeFrameMapping.

This is the primary step for "#126 Global definition of non working periods", and implements draft from gist https://gist.github.com/Toilal/5871680f0e5f2fa54412.

This also adds the first unit tests, using karma, jasmine and phantomJS, integrated in grunt default task.
feat(calendar): Add timeFrames display and conflict solver.

This adds display of timeFrames into gantt component.

It also adds solve function to Calendar object.This function is able to solve
an array of timeFrames into another coherent one for a requested date range.

The solve algorithm uses two simples rules.

1) If at least one working timeFrame is defined, everything outside
defined timeFrames is considered as non-working. Else it's considered
as working.

2) Smaller timeFrames have priority over larger one.
feat(demo): Add weekends to demo

This adds weekends to demo using new calendar feature.
docs(readme): Add time-frames and date-frames documentation
feat(calendar): Add options to display/hide timeFrames.

This adds time-frames-(non-)working-mode options to display or hide timeFrames.
fix(scrolling): Restore previous scroll position after columns changed

Restore previous scroll position after the columns changed because a tasks is added, the viewmode or another view related option changed. Additionally the scrolling behaviour during auto expand benefits from this improvement too.

Fixes #181
feat(timeFrames): Add cropped option to time-frames-(non-)working-mode

This adds cropped option to working and non-working timeFrames. When cropped,
timeFrames are dropped from gantt display and computations.

If a column is totally cropped, it won't be generated by column generator and won't be displayed at all.
fix(timeFrames): Fix cropped timeFrames for columns smaller than 1 day

This also add one unit test more for this case.
perf(columns): Do not search for currentDate column on generateColumns

Store the current date column instead of searching for it on generateColumns. This is a slow process if e.g. view mode is 'hour' and the columns of one year are loaded.
perf(columns): Remove unnecessary calls to moment.js

Remove all unnecessary copy calls to moment.js when the columns/headers are generated. Additionally calls to moment.js 'startOf' in hour view can be done once instead of in each iteration.