perf(scroll): Disable ngAnimate

This disables ngAnimate on directive to have better performance when scrolling.
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.