Help for !Menu (Part 3 of the Tutorial)
---------------------------------------

This program starts a task which puts an icon on the icon bar.  It can be shut down by clicking 'Select' on the Icon.

Breakdown:
----------
This tasks displays a menu and responds to it when the bar icon is clicked.  Since it needs more references than just 'quit', they are stored in a structure called (unexpectedly) 'reference'.

Before the menu is created, the function Screen_CacheModeInfo() *has* to be called, or the menu text may not fit! (Although it does on my machine...)
The baricon is created and handled as before and a menu for it created with Menu_New().

click() is modified to cast the reference structure back from void and shows the menu created earlier whenever 'menu' is clicked on the icon.  An Event_Claim() function which calls menu_choice() is then attached to the menu.

!Icon uses this second function, menu_choice(), to check which menu point was chosen and what to do about it.  Like click() it first casts back the pointer to our reference block.

It then checks which menu point was selected.  Even if there isn't a big coice.  Menu points are numbered from top to bottom, starting with 0.
If item 0 (Quit) was selected, the task is shut down. 