Fixes for window close and unusual icon type caret placement
If you click on a click/drag icon and it causes the window to close, holding the mouse button down may incorrectly call the writeable icon click handler if R6 happens to contain the [in]correct bitfield. Fix: ensure R6=0 in this situation.
Calling Wimp_DragBox with a type of 13 (start icon selection) when the caret data isn't valid (ie no window or no icon) can cause an abort. Now checks validity of caret location first.
Caret is not displayed if the icon type is neither 14 nor 15. Although other icons aren't technically writable, some applications do put a caret inside other icon types for editing. Eg Zipp and more importantly Eureka. So the redraw code has been adjusted to make sure a caret appears in these situations. Note that you still only get caret clicks (and selection drags and other mouse bits) if it's the correct icon type.