Adds XML5 parser based on [spec](https://github.com/annevk/xml5) by . Currently working draft resides on https://github.com/Ygg01/xml5_draft and is rendered using [Bikeshed](https://github.com/tabatkins/bikeshed). This patch is only concerned with making it work right, according to spec. Things to be done: 1. Add some support for doctype as suggested by annevk here: Ygg01/xml5_draft#2 2. Finish references in xml5 - basically, use all entity replacements html5 uses and add test for those. 3. Add Namespace support. 4. Unify two parsers using associated types. 5. Add C API for xml5 parser.