Adding skeleton for the WorkoutsMiniCalendar directive.

For now all it does is just creates a black rectangle.
Mini calendar resizes automatically depending on the total number of years.
Setting mini-calendar size via angular bindings instead of DOM manipulations.
Displaying year labels for a proper range of years.
Displaying black boxes for those months when there were some workouts.
Debouncing chart updating for much improved performance.

Thus avoiding redrawing the chart and re-calculating everything every
time a new workout arrives (one by one) on the initial load.
Reorganized and improved structure of the D3 code for the mini-calendar.
Black monthly boxes with size proportional to total workout time.
Added monthly labels.
Centering monthly bars.
De-bouncing $rootScope.$digest on receiving new workouts.
No de-bounce needed for updating the chart.

Digest enforced by WorkoutProviderService upon receiving new workouts
is now de-bounced instead.
Showing random colored bars for exercise efforts; not stacked yet.
Reorganizing data to match the chart structure.
Stacking bars in the mini-calendar charts.