Add a typeAt pass so plugins can help find types.

This enables plugins to provide additional type information at a given
position in a file. This is particularly useful in locations that are
not actually Javascript expressions (like comments) but also in
locations like string literals where the string might actually serve as
a reference to another type.

Using this pass in definition, doc, and type requests means plugins can
provide information for each of those requests. In particular, it
provides a solution to #370 (hooks for definition requests).