Fix some glErrors under Pepper GLES

Eliminate some errors being reported when running under the Pepper
implementation of GLES.

1) With 8 vertex attributes allowed, RegalIff.cpp was passing in 99
   (RFF2A_Invalid) for the index of the SecondaryColor attribute,
   presumably from RFF2AMap8. Added a check for Invalid before
   binding the attribute.

2) Pepper GLES does not allow client side array data to be passed in via
   glVertexAttribPointer without an ARRAY_BUFFER being bound, and will
   generate an error if it is done. There were two places in the code where
   this could happen.

   * In Iff::Cleanup() the code was calling glVertexAttribPointer directly to
     reset state to default values with no ARRAY_BUFFER bound.

   * In RegalPpca when popping the client vertex array state, the code makes
     calls to the fixed function glVertexPointer, glNormalPointer, etc, which
     are then translated to calls to glVertexAttribPointer

   For both cases, I added some checks to detect PepperGLES, and avoid calls
   to reset the client vertex array state when non ARRAY_BUFFER is bound.

Tested by building and running the unit tests under osx/darwin x86_64,
and under nacl_x86-64 and nacl_i686 (on Linux). Tested more fully with
an integration test framework on nacl_i686 for our application which
will is set to fail for any detected GL errors.
4 files changed