Move sampler validation to the GL layer. This previously was D3D-only, but is required for every draw call. This completes the work of removing the D3D-specific Impl methods from ProgramImpl. Also add several regression tests to cover texture and sampler validation. BUG=angleproject:1123 Change-Id: I167cbc8f47b4a397d2ae6cc507bdac35168bcacd Reviewed-on: https://chromium-review.googlesource.com/299400 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>