initial PPAPI port
added PPAPI project files
Fixed regallib, regalm, and regalmlib builds.
Rename NACL to PPAPI in GL-related contexts.

PPAPI is an API which contains GLES2 calls. The Chrome plugin,
on the other hand, could be NaCl-based or Trusted (for Windows,
Linux and perhaps Mac). So, the API name (PPAPI in our case)
is somewhat orthogonal to the target platform.

See https://github.com/p3/regal/pull/30
Initial implementation of sampler object emulation.
Further logging refinements.
Redbook example programs.
Add a unit testing framework.

Add the head version of GoogleTest (using
https://git.chromium.org/git/external/googletest.git), with a version
equivalent to Subversion change #625. Note that I've trimmed out some
parts of the tree that aren't directly related to building a working
library (such as their self-tests), but I preserved the special files in
the root directory of the project (such as LICENSE).

Modifies the Makefile to build "lib/libgtest.a" from the Google Test sources.

Adds a tests/ subdirectory for Regal tests. Adds a test_main.cpp file,
which will run all the tests, and contains a trivial test for
verification.

Modifies the Makefile to build and run "bin/RegalTests" from the
tests/ source code if "make tests" is run. The tests however are not
built/run by the "make all"
initial PPAPI port
added PPAPI project files
Fixed regallib, regalm, and regalmlib builds.
update ppapi project files to include new files
Merge branch 'master' of https://github.com/achienbsi/regal.git

Conflicts:
	build/ppapi/vs2010/Regal/Regal.sln
	build/ppapi/vs2010/Regal/Regal.vcxproj
	build/ppapi/vs2010/Regal/Regallib.vcxproj
	build/ppapi/vs2010/Regal/Regalm.vcxproj
	build/ppapi/vs2010/Regal/Regalmlib.vcxproj
	include/GL/Regal.h
	src/regal/RegalContext.cpp
	src/regal/RegalContext.h
	src/regal/RegalDispatchLoader.cpp
	src/regal/RegalDispatchNacl.cpp
	src/regal/RegalDispatcher.cpp
	src/regal/RegalHttp.h
	src/regal/RegalInit.cpp
	src/regal/RegalInit.h
	src/regal/RegalLog.cpp
	src/regal/RegalThread.h
	src/regal/RegalTimer.h
	src/regal/RegalUtil.cpp
Merge pull request #30 from achienbsi/master

PPAPI Build
Merge pull request #33 from adhoc-bobcat/master

Add Google Test unit testing framework.
Logging refinements
REGAL_SYS_FOO variables are always defined. (0 or 1)
Initialization refinement for EGL - EmuInit.py added.
Regal::Config support for EGL and GLX at runtime.
Complete list of extensions in Regal::ContextInfo
REGAL_LOG_ONCE for logging warnings and errors once only
Sampler object emulation refinements.
RegalDispatchCode for direct C code output - initial implementation.
RegalSo optimizations.
Merged GLX/EGL and GL/GLES entry-point loading for Linux.  x86, x86_64 and ARM.
GLenum to string conversion refinements, prefer non-extension, ARB, KHR and so on.
GL spec database entries for maxSize of input parameters.  (vs output size)
Implement a Texture Conversion Emulation recipe

A patch for issue #31.

Under an GLES2 API (and specifically Pepper implementation of GLES2),
calls to glTexSubImage2D may be required to use a type and format for
the new data that matches the underlying texture type/format, so that
the GLES2 implementation is a simple, straight copy of the data.

This means that in order for Regal to emulate the less strict OpenGL
interface, it must perform texture format conversions when calling a
GLES2 backend.

This patch adds such an emulation recipe, that:

1) Shadows the state of textures, so that Regal knows the underlying
formats, and
2) On a call to glTexSubImage2D, if the caller is passing something that
doesn't match the underlying texture format, Regal will handle the
conversion.

This patch makes a few assumptions that may need to be relaxed with
further changes:

* Only OpenGLES 2.0 compatible texture types and formats are supported.
  GL_BGRA and GL_UNSIGNED_BYTE_3_2_2 for example, while easy to add, are
  not. Other more general OpenGL formats could be added to, with a bit
  more work.
* As per the GLES2.x spec, only GL_UNPACK_ALIGNMENT is assumed to be
  relevant.
* To avoid a combinatorial explosion, all texture conversions are too
  and from a simple GL_RGBA, GL_UNSIGNED_BYTE intermedate format.
Merge from git://github.com/adhoc-bobcat/regal.git gles2_texture_conversions - some conflicts resolved manually.
Merged texture conversion emulation layer.
Logging refinements

Per-toolchain debug and release flags for Makefile build.

Regal sampler object refinements.

Logging refinements - REGAL_LOG_MAX_BYTES=n for limiiting raw bytes, REGAL_LOG_MAX_BYTES=0 to omit pointers.

Extend boost::print to support optional output.
Allow Export.py to be run from any directory.

Before this change Export.py only worked from project root.
Export.py: Create output directory if it not exists.

This also adds error message when output dir is not set.