Adds ability to set a menu handler in robot interaction

After much hemming and hawing, I decided the cleanest way to do menus right now is to simply allow the user to set a single menu handler for each interaction handler. Hence, different subgroups in the currently active group will all get the same set of menus. When the user changes the active group, they could change the menu handler to have different menu entries if desired. I think this is a good balance between flexibility and simplicity of API.

To show how it works, there is basic functionality added to the motion planning plugin. It creates a menu handler for the start state, and a separate one for the goal state. Now, you can right click on the markers to change planning groups, or to set the state that you have right-clicked-on to random, current, or the "other" one (start or goal). 

Try it out and let me know what you think.