Cleanup. Extension inheritance. Better freeze.

- Constructor now only accepts a name property
- Extensions are now inherited
- Class is now inherited
- Freeze now uses native freezing abilities, as our way was being
inherited, as this way is way better
- Throw an error if an extension is added with an unknown type
- Added test for successful subclass inheritance
- Added test for sub chain creation
- Removed deps that were for bundled plugins