We now generate doc/type metadata for classes. In order to do this, we
added a level of indirection to the metadata object, this makes telling
the difference between classes and functions easier.
This commit makes type information generated by our compiler pass more
precise. This lets us choose what information we want to display in the
command line.
This implements excmd completion. We're using the typescript compiler
API in order to get the documentation and the type of every function of
Tridactyl and generate a file named "src/metadata.ts" which contains
this information. Since this file is dependency-less it can be imported
from every source file.
We then write a regular completion source which just uses the data
contained in metadata.ts in order to generate its completions.