Allow overriding invalid date selection behavior

If you use a `DateSelectableFilter`, the default Toast message doesn't make sense. This filter allows for more fine-grained error reporting, and the default behavior is provided via an implementation of `OnInvalidDateSelectedListener`.