Fix Backbone Detection

There are two ways that we detect Backbone in the app. (AMD, and `window.Backbone`).

Previously we were detecting `window.Backbone` when it was first set (`Backbone = {}`). This PR, fixes that by adding a super smart `objectPropSet` listener for watching for when an object and it's props are set. 

There are also some small cleanups here, but that's mostly it. 
is this stuff basically replacing fancy getters/setters with the plain object?