Auto-link classnames beginning in lowecase.

Previously all auto-linked classnames had to begin with uppercase char,
but that's not really needed as we only replace namespaced classnames
anyway.
Allow "_" and "$" in auto-linked class/member names.
Extract AutoLink and LinkRenderer from Inline::Link.

Splitting up the humongous Link class into more managable pieces.

The DocFormatter constructor now takes two parameters - relations and
options, instead of passing the relations in separately.  It then
instantiates LinkRenderer and passes it to Link and AutoLink
constructors.

The LinkRenderer is still too heavily coupled to Link and AutoLink,
as these call all the methods of LinkRenderer, but the situation is
much better overall.