Implement WebGLRenderingContextBase::readPixels().
@emilio
Anything obviously wrong stick out to you? Haven't had a chance to debug why tests/wpt/web-platform-tests/webgl/conformance-1.0.3/conformance/programs/gl-bind-attrib-location-long-names-test.html and co. get the wrong results from ReadPixels.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10668)
<!-- Reviewable:end -->