Support read/write on socket file descriptors.

Add test_websockets_bi_fileops to test using read and write instead
of recv and send respectively. Uses same source files with
USE_FILE_OPS define.
Shared file-descriptor nums for files and sockets.

Also, add FS.createFileHandle(stream) and FS.removeFileHandle
functions for adding to and removing from the streams/file-descriptor
table.
Adding texEnv emulation to Immediate mode.
Switch to emcc-style function capitalization.
PR fixes, part 2, take 3.
coding conventions
Revert client array packing changes.
Revert more changes to get back to passing tests.
Remove now-invalid tests.
clean up unneeded logging
coding conventions
Handle CommonJS exports
do not call code-running callbacks if ABORTing; fixes #1191
Browser.safeCallback
handle dynamic indexes properly, even out of bounds, for array gep lookups; fixes #865
add 2011 splash slides
Allowed Emscripten to recognize and compile .m and .mm files
(Objective-C and Objective-C++, respectively)
fix argument counting regression from 5efd506 ; fixes #1202
actually implement clock_gettime()
Add support for webrtc-based sockets. Moved both backends behind a settings flag, SOCKET_WEBRTC.