Adding MenuItem-level callbacks for MenuBackend

The previous implementation allowed 3 callbacks to be defined on the
root-level MenuBackend instance (menuUse, menuChange and itemChange).
This commit introduces 8 callbacks for MenuItems:

* onChangeFrom / onChangeTo - called when the current menu is changed
away from/to the base MenuItem
* onUp / onDown / onLeft / onRight - called when moveUp, etc is called
with the base MenuItem as the current menu
* onUse - called when use() is called with the base MenuItem as the
current menu

These callbacks should simplify code organization in some cases by
eliminating the need for a complex case statement to handle all menu
events.
Merge pull request #30 from kerinin/MenuBackend_callbacks

Adding MenuItem-level callbacks for MenuBackend