New: highlight now supports a callback function

Also includes support for optional class and id names on highlight boxes.

Fixes from a104b2521e4f0bbab853c5daa043e3952881dd0a also included in source now (put them in build last time).
Fixed: typo in line 95

__image_type -> image_type