Add a 'change' trigger to range checkboxes

When a user currently shift-selects a collection of boxes, the 'change'
trigger is only called for the one that they actually clicked on, even
though many boxes may have been updated. This causes problems when
trying to do something based on the contents of each checked box.

This commit triggers the change event of every box that the library
checks so that listeners are aware of the change.

Note that this may cause slowness when users range-select hundreds/
thousands of items.

For details, see GH issue #8