Add special handling in DatePicker month buttons

Will select the same day in the next/last month unless there are fewer
days in the new month than the previous month's selected day (e.g. Mar.
29->Feb. 28)