Bug 1023662 - [User story] Show 5 day week view r=gaye

**WIP**, still going to clean up the code and try to use external templates for most of the elements.. I have a few more changes locally (trying to abstract it better so that we can use same logic for day view as well), but will probably take another full day to clean up the code..

I'll rebase this later and squash commits.
child classes in this case makes it way easier.. the current calendar structure needs to call the methods `onactive` and `oninactive` and we would need to pass same values (`scale`, `visibleCells`, `element`, `_calcBaseDate`) anyway.. a child class makes sense in this case...

without inheritance we would need:

```js
function WeekView(opts) {
  this._multiDay = new MultiDay({
    app: opts.app,
    scale: 'week',
    visibleCells: 5,
    element: document.getElementById('week-view'),
    _calcBaseDate: function() { /* ... */ }
  });
}

WeekView.prototype = {
  onactive: function() {
    // this is redundant for no real benefit and we might introduce errors...
    this._multiDay.onactive;
  },
  oninactive: {
    this._multiDay.oninactive;
  }
};
```

more code and error-prone, so no real benefit.. week is exactly a MultiDay view with minimal configuration. only `30 LOC`, only a single override... easy to understand what is going on.