This update removes the usage of namespaces in an effort to just be able to use A-Frame directly from an import.
These types are based on [this branch](576e4557b1/%40types) of work in my [a-frame experiements](https://github.com/devpaul/aframe-experiments) repo. Please take a look over there to see more complete usage and examples.
* Add new PropertyTypes
* A-Frame: Expand registerComponent test.
* Add generics to properties, components, and systems.
* Add missing ShaderDefinition interface.
* Add missing event data.
* Add missing throttle and throttleTick functions.
* Update Typescript version
* Use classes for component, system, and geometry
* Add tests for class inheritance.
* Improve defaults, rename ComponentBase -> ComponentDefault
* Saw the sign - many simplifications, return to interfaces
Can't extend a class definition that doesn't exist at runtime, so we need to use interfaces?
* Remove unnecessary generics
* Simplified some references, added a couple tests.
* Moving undefined system from generic to property.
* Revert "Update Typescript version"
This reverts commit 43ef72cef75b0bcee2d04eddcaa0f594290ec46f.
clean-up aframe DT header
using files in tsconfig.json
removing name from package.json
removing version from package.json
removing scripts from package.json
removing types from package.json
Moved package.json to tests to support ease of use
Telling DT to ignore tests
removing unix standard blank line at end of UNUSED_FILES.txt
dtslint seems to want a commonjs module
module in compileroptions
module in compileroptions
cleaning up lint errors