Removed unneeded check

this is already checked in the guard
Removed comment

was redundant with documented code
Fixed warning

changeOptions should only be declared once
Fixed syntax
Use guard instead of if

to make style consistent with subscribe/unsubscribe,
which use similar constructs for checking preconditions
Make sure throttled forceUpdate does not fire after unmount
Unify how we do forceupdates for collections and models
Extracted some functionality out of subscribe into local functions
Don't define subscribe and unsubscribe on the object anymore

This way we will be able to mixin multiple times
Handle the view helpers as mixin as well
Add implementation example
made variables private

also added use strict to ensure this won't happen again
Made binding simpler

used parameters instead of binding to this. Thanks to @EamonNerbonne for
the suggestion
Make the mixin parameterized

Also kept createBackboneClass backwards compatible
Fixed readme
Added Common.js Support and underscore dependency

The factory function was using underscore without requiring it. That wouldn't work with commonjs and AMD.
Check whether we're dealing with a model vs. collection to know to debounce
Extract debouncing logic with change options into a behavior object
Fix subscribing when models change
Minor: shorten code using underscore