[WIP] Implements shading types 4, 5 and 7

(list of issues https://github.com/mozilla/pdf.js/issues?labels=4-shading-pattern&page=1&state=open)

TODO:
- [ ] invert picture (see #2948)