Add a Desktop style for Calendar component

Calendar was hardcoded to the base style. This patch changes it to use
the newly created Desktop API which should match QCalendarWidget

Change-Id: Icd34ce781b535cdb5ca6e898626281e1958a7704
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Restore button sizes.

Change-Id: Ifd1905438e9312849f8cff3db5229ba5a1361ea9
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Convert QML CalendarModel to C++ QQuickCalendarModel.

This makes the model property private. The motivation behind this is:

1) We don't want to expose C++ classes in Qt Quick Controls.
2) Given 1), an alternative that allows users to use their own custom
   models for the Calendar involves:
   - Making the model property a var that accepts any type of model
     that provides a DateRole.
   - Having two functions in Calendar: indexAt(date) and dateAt(index),
     which any custom models have to implement if they use a different
     indexing system than QQuickCalendarModel's.
   - Forcing the user to populate their own dates. This shouldn't
     happen, as the code to do it is almost always going to be the same.
   It ends up being ugly. Instead, if users want to integrate things
   like events into their Calendar, they should store their own model
   for that separately; the styling code supports this. An example
   demonstrating this will be added later.

Change-Id: I79ffb354ac26b42882f3352df4342d3fa1203832
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Improve styling API.

Be more consistent with the other controls' styles.

Change-Id: I2c385774ae780c7341a4f72cf38ecdd6030cc274
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Convert headerDelegate into weekdayDelegate.

This allows us to hide CalendarHeaderModel, as we instead provide a
delegate for each weekday.

Change-Id: I246826bef5993fa5b70ad906acdf5c7854a681ba
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Ensure all of Calendar's style components are within its bounds.

Change-Id: I998e44eec81716aa04f37870d767f70dc70b0195
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>