Json Home HTML document generation

- EntryPoints.as_media_type calls a new object JsonHomeHtmlSerializer to do all the heavy lifting
- spec test included