Refactored modal views, improved timesheet demo

Modal views are now in their own file, and one view generates the
entire (hidden) modal contents, allowing for a modal with no markup in
original file.
Timesheet view now creates the modal in this way as part of the same
TimesheetButtonsView, allowing us to perform actions on showing the
modal (like resetting the contents, etc.).
Neatened up timesheet_view.html