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.
year can be zero.. so checking for `!= null` is safer.. (any value that is not `null` or `undefined)`