StateManager11: Cache impl objects.

Also requires putting the Framebuffer ID in the shared state object.

Bug: angleproject:2575
Change-Id: I68e3af839a85798e01050560a67624a165d3ed2c
Reviewed-on: https://chromium-review.googlesource.com/1067119
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/VertexArrayImpl.h b/src/libANGLE/renderer/VertexArrayImpl.h
index c15e816..6491ba1 100644
--- a/src/libANGLE/renderer/VertexArrayImpl.h
+++ b/src/libANGLE/renderer/VertexArrayImpl.h
@@ -43,6 +43,8 @@
     virtual void destroy(const gl::Context *context) {}
     virtual ~VertexArrayImpl() {}
 
+    const gl::VertexArrayState &getState() const { return mState; }
+
   protected:
     const gl::VertexArrayState &mState;
 };