refactor(calendar.js): added a calendarCtrl and put the mapping/change watching functionality there

Signed-off-by: Josh Kurz <josh.kurz@turner.com>
feat(calendar.js): custom event rendering closes #29

Signed-off-by: Josh Kurz <josh.kurz@turner.com>