• webgl: Refactor texture validations to take advantage of rust type sy…

    …stem
    
    This commit introduces the `WebGLValidator` trait, and uses it for multiple
    validations in the texture-related WebGL code, to move that logic out of the
    already bloated `webglrenderingcontext.rs` file.
    
    It also creates a type-safe wrapper for some WebGL types, removing all the
    `unreachable!`s there, and introduces a macro for generating them conveniently.
    
    This partially addresses #10693, pending refactor more code to use this
    infrastructure, and (possibly?) introducing an `AsGLError` trait for the errors
    to make the error handling happen in `WebGLContext`.
    emilio committed Jun 24, 2016