Wire getDefinitionAtPosition using the new compiler implementation

There are some changes in behavior between old and new implementation, namely:
* module definition used to start at the module name, now it starts the module keyword, which is uniform with other constructs
* Goto def on function call used to take you to the matching signature instead of the definition, now it is always the definition
* new implementation support goto def on labels
* new implementation support goto def on string property names (e.g. a["prop"])
* new implementation support goto def on /// references
This is weird.  Why is this code in the services layer?  it should be part of the compiler.