tile clearing: fix HEAVY_DEBUG assertion

Fixes a C++ assertion accidentally introduced in 6414ab0 which was visible
only when compiled with debug=1.  We use tile_clear() in more
places now, but its action was data-type specific and calling it with the
wrong tile array could cause data corruption (hence the assertion)

* Provide separate tile_clear_…() functions for rgba16 and rgba8 data
* Fixes a potential data corruption with MyPaintSurface.blit_tile_into()
  - was probably never actually provoked in the wild

Minor stuff:

* Headers: remove internal-only …_c() routines from lib/pixops.hpp
* Couch some assertions in #ifdef HEAVY_DEBUG