Having one item with circular set to true resulted in a single item
cloned and scrolling, which is not a desirable condition. Having
zero items with circular set to true resulted in an error. By
enforcing a check more similar to the one performed when circular
is false, we are able to catch this condition.
Additionally, the prev and next buttons are set to disabled in the
case of one or zero items.
If the next/prev month buttons are hidden via visibility: hidden and the user clicks on the area where the button is after it's been hidden, the click event's target ends up being the root node. The code that checks for this expects the event to be a child of the root node instead of the root node itself, so this patch just adds a check for this.