completely reimplement premultiply table so that results exactly match those generated by CoreGraphics and the mapping can be inverted with unpremultiply logic, add test cases and new table as static data