alternative calendar mechanics

CalendarSquares split into placeholders, totals, and days
they each take some responsibility for printing to the calendar through a simple interface
this facilitates a simpler (or just different) loop to initialize them
what's more, they know their position in terms of the calendar grid, not pixels
this simplifies calculating their onscreen positions on the fly, including the enlarged square
replace CalendarView with GridView

this involved reshuffling a lot of methods in CalendarView et al, but it works!
No enlarged squares yet, though.