!!! DrawBevelBox() now can fail for memory reasons

!!! Could automatically do SG_EXTRAFREE_DISPOSE based on
( if gadget is imaged and imagery is custom, dispose them.  Not true
for GENERIC_KIND gadgets! )

!!! DavidJ found that if you request a font of height say 3, but you
!!! get a font of height say 8, the listview screws up since it uses
!!! the textattr height, not the textfont height :-(

!!! DavidJ wants palette gadget to abort with RMB

!!!  menu.c to grow an internal flag to indicate right hand string
(i.e.  >> or command string), so that people who hand-add strings
don't get right justified?

!!! menu.c my test prog gets mungwall hits if I use an explicit font
without explicit amiga-key and checkmark symbols!

In scroller and slider, GTPROP_GADGETUP and GADGETDOWN could be made
numerically equal to GUP and GDOWN, which could save mucho code.

!!! AddRefreshGList() is currently always called with numgad = 1
!!! Most calls to RemoveGList() (all except listview) use numgad = 1

Amazing: each gadget kind is expected to individually handle
gad==NULL on entry! All current kinds do.

Bad ROMTag:  Can't killf a GadTools loaded at exactly $f00000.
- If ROMtag is in 1st 2 bytes of $F00000, doesn't find.

placeGadgetText():
CAN'T	string (confusion because of vert centering)

Can I use this to some good?  StringExtend centers the font inside the
gadget height.  Eg.  gadget is 10 high and you have topaz 8:
not-stringextend:  then you'd be top-aligned with 2 blank rows below.
StringExtend:  one blank line above, one below.

Idea:  add an underlay gadget to each gadget, which gives us
GADGETHELP detection, REL-positioning, part of rel-sizing,
and a place to put the underscore graphic.  Also, we could use the
underlay to listen for clicks on mx and checkbox labels.

Palette gadget should not crash if it subdivides too fine.

Palette gadget text is missing.

indicatorwidth is only used to determine the default place for labels.


ToDo:
Vertex says that JAM2 is faster, use in menus!!! (at least NLMenus)

	26652	2.02 RELEASE
Size:	24124	2.04 RELEASE
	-----
	21028	39.153
	21072	+  44 GTPA_ColorRows and GTPA_ColorColumns	
	21196	+ 124 getBevelImage()
	21200	+   4 scroller -> getBevelImage()
	21144	-  54 string -> getBevelImage()
	21052	-  92 text -> getBevelImage()
	21052	-   0 listview -> getBevelImage()
	21048	-   4 slider -> getBevelImage()
	21060	+  12 IA_EdgesOnly
	21076	+  16 palette -> getBevelImage()
	21056	-  20 Eliminated some stored VisualInfos
	20960	-  96 GTButtonIClass a subclass of frameiclass now
	20928	-  32 Got rid of GTButtonI's visualinfo in callers
	20908	-  20 Now get drawing pens from impDraw
	20660	- 248 Old MakeBevelBox() is HISTORY!
	20652	-   8 Unknown change
	20656	+   4 Palette removes its ghost pattern (also RP optimization)
	
NET GADTOOLS SAVINGS for the BevelBoxes seems to be 420 bytes!
Cost 80 in intuition

(gtinternal.h: 39.7)
Added new FRAMETYPE definitions.  Deleted BevelBoxes and VisualInfo's
from instance data.  Added image pointer and semaphore to GadToolsBase.

(gtinternal_protos.h: 39.5)
Added getBevelImage() function.

(render.c: 39.3)
Added getBevelImage() function.

(scroller.c: 39.7)
Uses getBevelImage() instead of MakeBevelBox().

(string.c: 39.5)
Uses getBevelImage() instead of MakeBevelBox().

(text.c: 39.5)
Uses getBevelImage() instead of MakeBevelBox().

(listview.c: 39.5)
Uses getBevelImage() instead of MakeBevelBox().

(slider.c: 39.6)
Uses getBevelImage() instead of MakeBevelBox().

(palette.c: 39.6)
Uses getBevelImage() instead of DrawBevelBox().

(nway.c: 39.5)
GTButtonIClass now needs IA_FrameType, doesn't need MYIA_VisualInfo.

(button.c: 39.5)
GTButtonIClass now needs IA_FrameType, doesn't need MYIA_VisualInfo.

(gtinternal.h: 39.8)
Deleted MYIA_VisualInfo.

(create.c: 39.6)
Fixed minor autodoc typo.

(create.c: 39.5)
Added GTPA_ColorRows and GTPA_ColorColumns to autodocs.

(palette.c: 39.5)
Added GTPA_ColorRows and GTPA_ColorColumns.

(gadtools.h: 39.4)
Added GTPA_ColorRows and GTPA_ColorColumns.

(gadtools.i: 39.5)
Added GTPA_ColorRows and GTPA_ColorColumns.
