Make Framebuffer backbuffer constructor take Surface. This allows the Framebuffer to initialize all the attachment info internally. This in turn will allow us to clean up the way we validate WebGL1 depth/stencil attachments. BUG=angleproject:1708 Change-Id: I8871a9791dfce0ac806f4e1367a521610e5283ae Reviewed-on: https://chromium-review.googlesource.com/446130 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>