Add support for 10/11/16-bit floating-point values.

These are referred to (in this code) as "small-floating-point" numbers.

Supporting these requires special code, as C++ doesn't support these types.
The GL_HALF_FLOAT "type" corresponds to 16-bit floating-point values, where the
OpenGL semantics and IEEE semantics seem to be the same.

The 10-bit and 11-bit floating-point values seem to be only for OpenGL, and
have special semantics (e.g. are only positive values), and are only used for
one format-type combination (i.e. GL_RGB/GL_UNSIGNED_INT_10F_11F_11F_REV).

Support includes handling INFINITY and NaN (i.e. "not a number").
Added support for GL_BGR[_INTEGER] combos.
Address feedback/requests from Rich.

Including the following:

- Added function (2 versions) to query info about an fmt.

- Add rtn value and size parameters to pxfmt_convert_pixels().

- Add alt_*_row_stride param's to pxfmt_convert_pixels().

- This includes minor changes to ktxtool to reflect the changes to
  pxfmt_convert_pixels().
Merge pull request #64 from IanAtLunarG/pxfmt_140513

Pxfmt 140513
Port some "pxfmt" changes that didn't come over already.

Not sure why Git didn't pull these over, but it didn't, and so I am manually
porting these changes.
Eliminate "pxfmt" compiler warnings on Linux.

The compiler noticed that 2 members of the small_fp<nbits> struct weren't being
used.  Sure enough, so I removed them.
Merge pull request #65 from IanAtLunarG/pxfmt_140514a

Eliminate warnings on Linux & port some other changes...
Fix another compiler warning, introduced on Windows.
Merge pull request #66 from IanAtLunarG/pxfmt_140514c

Fix another compiler warning, introduced on Windows.
Implemented support for GL_LUMINANCE[_ALPHA]

A "Note" was added to from_int_L(), that discusses an issue with going from
intermediate values to "luminance" values.
Merge pull request #67 from IanAtLunarG/pxfmt_140515a

Implemented support for GL_LUMINANCE[_ALPHA]
UI: VertexArrayExplorer now supports client-side element arrays and additional display options
* element count, byte offset, and base vertex can now be adjusted in the UI to better explorer the element and vertex arrays.
* If a draw call is selected, the parameters of the call are now fed into the Explorer to provide a better user interaction.
  * Note that glMultiDraw* functions are not yet supported in this manner; Instanced draws are still not fully supported.
* Improved detection of out-of-bounds cases when accessing the element or vertex arrays
* The order of UI updates is a bit complicated here. Hopefully I can clarify:
  1) The vogleditor updates the explorer with parameters of the current API call (if applicable); UI box are updated
  2) The vogleditor updates the explorer with all the VAOs and sets the current one.
  3) When a VAO is selected, the referenced buffers are collected and the column headers to show the buffers
  4) VertexArrayExplorer UI boxes are updated to reflect either the display options set from the API call, or the element count is adjusted based on the data type selected and the size of the supplied element array.
  5) The vertex array table is populated with data from the buffers, using the currently selected values in the UI
* Changing the element data type will cause the element count to change if the API call has not set display options. It will adjust to avoid indexing beyond the end of the element array. The user may further adjust the UI options, and any invalid indexing will display "Out of bounds" in the appropriate cell of the table.
Merge branch 'master' of https://github.com/ValveSoftware/vogl
Add SDL license note.
Merge branch 'master' of https://github.com/ValveSoftware/vogl
Cleanup warning mesasges on Windows
Merge branch 'master' of https://github.com/ValveSoftware/vogl