Add layer rasterizer for GL

Rasterizer is added into GL by the following:
1. if can_rasterize_via_GPU and can_maskfilter_via_gpu, first rasterize on
   GPU, then mask filter on GPU
2. if can_rasterizer_via_CPU and can_maskfilter_via_gpu, first rasterize
   on CPU, upload to a texture and maskfilter via GPU.
3. if can_rasterizer_via_gpu and can_maskfilter_via_cpu, falls back to 4.
   This is because if we rasterize on GPU, we must download to CPU, do
   mask filtering and then again upload to texture. This is slow
4. if both have to be done CPU, do them on CPU and upload

The followings are not implemented for GL: drawPoints, drawVertices
and draw texts

If a rasterize layer's paint contains mask filter or other rasterizer,
fall back to CPU