Introduce a gl::BufferState class.

This state can share vital pieces of information with the impl.
The most elementary state is the buffer size, which then the
impl doesn't need to replicate.

BUG=angleproject:1579

Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
Reviewed-on: https://chromium-review.googlesource.com/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/null/ContextNULL.cpp b/src/libANGLE/renderer/null/ContextNULL.cpp
index 2f4bcb4..95d4c04 100644
--- a/src/libANGLE/renderer/null/ContextNULL.cpp
+++ b/src/libANGLE/renderer/null/ContextNULL.cpp
@@ -124,7 +124,7 @@
     return static_cast<RenderbufferImpl *>(0);
 }
 
-BufferImpl *ContextNULL::createBuffer()
+BufferImpl *ContextNULL::createBuffer(const gl::BufferState &state)
 {
     UNIMPLEMENTED();
     return static_cast<BufferImpl *>(0);