Guard against div/0 error
Add alpha channel setting to set_pixel

  - The fireworks plugin added the concept of merging pixels, which
     effectively drew some pixels with an alpha channel so that what
     was behind was still visible. Move this code to the floorcanvas
     library so that everyone can use it, and add it as an optional
     parameter to set_pixel. Default is 1.0, i.e. no alpha