Remove the object.observe polyfill and revive unit objects to models where needed.

This branch removes the Object.observe polyfill and converts everywhere that still used the unit object in it's raw format to use `revived` unit models.