- add 'direction' and the 4 callback options to the defaults at the top (init/open/close/select)
- fix bug which is standard mistake in JavaScript when using loops and closures: use an inner closure to keep the proper function linked with each event

- select event: pass not only the selected menu item (jQuery DOM element), but also include the selection index (0-based) and a flag whether this 'select' event is the parent menu being 'select'ed as a result of a submenu item being 'select'ed; each event includes the selected indices and DOM nodes as arrays

- keep track of parent circleMenu; the parent node and item index are stored in self.options.__parent / self.options.__parent_index

- do NOT kill options.init/open/close/select event callback fields but instead keep track whether these have already been registered (so we do not re-register them when the user invokes circleMenu.refresh()) by setting the self.options.__<event>_cb field instead.

The net result is that we do NOT change any options provided by the caller/user and instead store some internal trackers in field names whcih start with a double underscore '__' to keep them unobtrusive.

KNOWN ISSUE: Pale Moon / FireFox have trouble with the 'Full, Spins Open' mode - this is not new but already was an issue for the 'vanilla' version of CircleMenu.
making sure the child menu items also get a high z-index; just 1 below the z-index of the menu base node (self.element).
fix: had trouble with mouseenter/mouseleave: spec both WIDTH and HEIGHT for the UL to make it identical in size to the LI's but that only means we now have sensible bottom:4px CSS values. The key to the mouseenter/mouseleave problems was that they MUST bubble up -- otherwise submenus will 'prevent' these events for the main menu LI to happen and that is bad.
remove debug statements
Merge branch 'bugfix' into gh-pages

Conflicts:
	examples/css/circle-menu.css