Generated the html output

* made the category menu array collector recursive
* general code refactoring
* generated the html output out of the collected data
* made the plugin non-cacheable