refactor Handlebars.helpers
refactor PagerView to remove LI>A, LI>SPAN
Checkpoint: Add .filter-rating to GalleryDisplayOptionsView

* change GalleryDisplayOptions to handlebar template
* HACK: add NEW models to GalleryCollection, sort by dateTaken
remove event bindings from models, add destroy() to models.Shot
use Backend static class pattern for HiddenshotCollection
OOCSS refactor, use main.css
refactor models.Photo
checkpoint: add Timeline model and View. DOESN'T WORK YET
refactor main.js app init, GalleryView contains collection & timeline

* add Timeline.parse() to extract dates WITHOUT TZ conversion
* add Timeline.fetched to track XHR loaded periods, use model.periods[N].period-model.currentZoom, i.e. '11-2011-month'
* GalleryView listenTo, timeline 'sync' and 'change:active'
* Timeline.fetch() triggers Timeline.'change:active' which triggers GalleryCollection.fetch()
* add #markup #Timeline template, underscore
* TimelineView listens to GalleryCollection."sync" to render state
refactor main.js app init, GalleryView contains collection & timeline

* add Timeline.parse() to extract dates WITHOUT TZ conversion
* add Timeline.fetched to track XHR loaded periods, use model.periods[N].period-model.currentZoom, i.e. '11-2011-month'
* GalleryView listenTo, timeline 'sync' and 'change:active'
* Timeline.fetch() triggers Timeline.'change:active' which triggers GalleryCollection.fetch()
* add #markup #Timeline template, underscore
* TimelineView listens to GalleryCollection."sync" to render state
render GalleryCollection.sync response in "periods" not pages

* use GalleryCollection.comparator to sort by dateTaken DESC
* add Timeline.helper, TimelineView.helper
* add GalleryCollection events, "xhr-fetching", "xhr-fetched", "xhr-ui-ready"
* move scrollSpy to TimelineView
* use scrollIntoView instead of scrollBottomAlmostIntoView
untracked files on timeline-pager: c36008a render GalleryCollection.sync response in "periods" not pages
index on timeline-pager: c36008a render GalleryCollection.sync response in "periods" not pages
WIP on timeline-pager: c36008a render GalleryCollection.sync response in "periods" not pages
checkpoint: add filter[rating],

* adds lower rated photos to periodContainer, does NOT filter collection.models
* Timeline.sync overrides, set perpage=99 for timeperiods
add .fade.fade-out CSS transitions

* refactor thumb rendering lifecycle
* remove unnecessary model listeners
* add mixins.UiActions.TIMINGS
render score=null correctly for PhotoView, ShotView
fix template for score in PhotoView, ShotView
refactor, add orientationLabel to PhotoView and PhotoView.hiddenshot
add rating filter, fetch=false, i.e. filter on client, no XHR