Add the ability to process contiguous WebIDL blocks

@darobin

Resolves #334, which also has more discussion of the idea.
Per https://wiki.whatwg.org/wiki/Specs/howto, the "standard" ID for a constructor for interface Foo is #Foo-Foo (interface name followed by method name).  Bikeshed further disambiguates by type - it has a "constructor" definition type separate from "interface" or "method".