Simplify TileLayout setup.
Mitigate day cell borders not updating correctly in landscape.
Refine itemSize calculation in TileLayout.

Instead of hard-coding the number of columns
depending on orientation, which has a complexity
that grows with the number of different screen
sizes, use desiredItemSize, based on values in IB.
Column count becomes a direct result of trying to
fulfill desiredItemSize, and no longer requires
orientation.

Then move this whole thing into prepareForLayout,
so itemSize is correct in time for view changes
during orientation change, and manual calls to
updating the sizes become unneeded.

Minor reorganization included.
Simplify borderInset setting in MonthsViewController.
Refine day cell layout constraints for correct resizing.

Have to vertically center something, so vertical
position holds up during resizing; selected the
todayIndicator, but y changed by -6pt.
Refine day cell border transition on orientation change.

The current limitation is updating borders
requires a complete collection view re-render.
Improve integration with the collection view by
integrating the render call into the layout.