Fixed set active coord from mask in OS_SpriteOp 36 (set pointer shape)
Ben Avison authored
Detail:
  Page 33 of the RiscOS 3 volume 3 Programmers manual states that the
  active point can be set from the sprite's mask. This was never
  implemented but it is very useful as it means that the active point
  is no longer hardwired into programs but dependant on the sprite
  used.

  The obvious problem is ptr_write. At present the active point is at
  the top left. If you run !ptr_test and run the pointer over the
  'standard active point position' writable icons from the bottom you
  will see that the pointer changes to an I with its top at the bottom
  of the writable icon. If you move the pointer until the top of the I
  is just inside the upper writable icon of the 2 and click, the focus
  goes into the upper writable - not what you'd expect.

  Similarly it's difficult to place the caret between the 2 lls in
  will. The bottom two icons shows the difference with the active
  point in the correct position in the I beam.

  You could change the wimp to put the caret in the correct position
  like I have in the bottom 2 writables of !Ptr_test however this
  would have the wrong active point position if the mode had
  rectangular y pixels and it wouldn't fix all instances where
  programmers had set ther own values.

  It also means that themes can change the pointer active point as
  well as the shape.

  The routine added copes with old and new type sprites of any bit depth though
  OS_SpriteOp 36 has a 8bit limit.
Admin:
  Tested on Iyonix 5.17.
Author:
  Colin Granville

Version 1.42. Tagged as 'SprExtend-1_42'
de25c04d