Median cut and dithering: optimizations and enhancements to deal with 8-bit precision (only if using internal interface for now)

git-svn-id: https://svn.osgeo.org/gdal/trunk@28085 f0d54148-0727-0410-94bb-9a71ac55c965
GPKG: support DRIVER=PNG8 to do color quantization

git-svn-id: https://svn.osgeo.org/gdal/trunk@28086 f0d54148-0727-0410-94bb-9a71ac55c965
Merge branch 'trunk' into trunk_android