[TASK] Remove unused variable
[TASK] Adjust doc comment in Abstract Menu ViewHelper
[TASK] Move render method of default Menu to Abstract class

This will allow the default rendering approach to be easily reused by other classes.
[TASK] Remove unused variables from various Menu ViewHelpers
[TASK] Cleanup variable backups in various Menu ViewHelpers
[FEATURE] Sub Menu ViewHelper

Menu-based ViewHelper which only works inside other menu ViewHelpers and here, works by recycling the parent menu instance with a new starting page UID, conditioned by wether or not the page link being rendered is part of the currently rendered page's root line.

Should be used only once inside any other Menu ViewHelper.

### Example:

```
<v:page.menu>
	<ul>
		<f:for each="{menu}" as="item">
			<li>
				<a href="{item.link}">{item.title}</a><br />
					<v:page.menu.sub pageUid="{item.uid}" unset="item" />
			</li>
		</f:for>
	</ul>
</v:page.menu>
```
[FEATURE] Support expandAll as defined by top parent menu
[TASK] Rename method to remove "cloned" return type indication
[TASK] Don't clone parent menu VH instance

This (hopefully) avoids some side effects when rendering menus from an uncached context or while building the menu just before it gets cached. The intention is to not disconnect the parent VH from the context in which it sits.
Merge pull request #132 from NamelessCoder/submenu

[FEATURE] Easy-to-use Submenu - recycles parent instance with new starting page UID