Cleanup Hyperlink creation.

- removed HyperlinkFactory and friends
- add `mkHyperlink` to `IScalaPresentationCompiler` (similar to completion proposals)
- move implementation class to `core.internal.hyperlink`
Moved classes to internal package and remove useless `Composite` class.
Make the hyperlink detector automatically translate regions.
Add factories for hyperlink detectors.
Add a way to configure the label, and a default implementation.

This was needed for the Play route editor.
Remove removed packages from MANIFEST file.
Quick fix for hyperlinking between Play templates
Use Region magic to translate selections.
Use `translate` instead of `map` when calculating the selection for a given hyperlink.

It turns out that the translation scheme (and source map) for Play templates is a bit off, so
mapping a region of length 6 (for a given word) is mapped to way more (28 characters) in the
Scala source, making the hyperlink go widely off.
Make `RichRegion.map` return only positive lengths.

Also, made `ScalaHyperlink` take a `region` instead of an offset and a length.
Addded some more documentation.
Merge pull request #820 from dragos/api/hyperlink

Cleanup hyperlink code and APIify
Cleans up and organize of the Completion API
Simplifies the findCompletions signature
Creates a public factory for ScalaCompletionProposal
Merge pull request #822 from skyluc/issue/API-Completion

Issue/api completion