feat #1335 Range Calendar widget

This commit adds the Range Calendar widget.

It also refactors some skin properties used in the calendar,
which breaks compatibility with existing skins.

close #1335
compat Backward compatibility with calendar skin properties

This commit restores backward compatibility with calendar skin properties
after the change introduced in commit d3358a5d61519b5cd8d5d5bb10c926e372b161b4.

This commit is intended to be reverted in one of the next non backward
compatible releases.