GcCalendar optimizations

Updated GcCalendar and GcCalendarModel to reduce model
refreshe and redraws when not visible or the month/year
hasn't changed.

Fixes #538.