Improvements to C# language

* Namespaces, classes, enums, interfaces and structs now properly use
  "title" class
* Qualified identifiers supported in namespaces, method/property return
  types, inherited types, etc.
* Multiple and nested generic arguments supported by type, method and
  property declarations
* Generic constraints on type declarations
* Better keywords in function parameters
* XML doc tags treated as XML language
* True, false and null treated as literals instead of keywords
* Pragma disable/restore
* Type declarations (class, interface, struct, enum) get "class" class
* Type declarations wrap inheritance declarations in "inheritance" class
* Each inherited type is wrapped in "parent" class
* Properties wrapped in "property" class
* Attributes wrapped in "attribute" class
Some of those classes aren't really useful in highlight.js, as we don't have them in the styles. Namely: "property", "inheritance", "parent", "generic-constraints". They can be safely dropped from the definition.