Split finding <dfn> elements from using them to link <a> tags.

This lets other modules use the definitionMap.
Add the CSS when only contiguous IDL is used.
Link IDL declarations to their prose definitions.

This is still lacking a way to define aliases for IDL constructs, for example
when the only instance of a type lives at `navigator.bluetooth`.