* some SDL functions from SDL1.x and SDL2.x
Provide compile time and run time options for WebSocket URL and subprotocol fields
Fix assertion that all switch-cases break.
Add return-type tracking to normalizeAsm/denormlizeAsm
Don't let buildFlowGraph return to a junction if it's known to be unreachable.
Teach buildFlowGraph about functions that are known to always throw.

It can treat calls to these functions like a jump to function exit,
allowing for more accurate tracking of dead junctions.
Removed capitals from a comment as requested, reinstated UDP test that was accidentally dropped and updated settings.js comment.
Add the datagram switch to the client as well as the server
Fixed test_sockets.py so that it uses temp directory correctly and cleans up automatically. Changed server port ranges to minimise chance of port collisions
Handle non-breaking case bodies in switch statement.

These don't actually flow through to the next case, but we have to
make sure they're properly closed in order to keep our invariants
in order.
Simplify labelled-block handling so it works better with switch statements.
Use standard fds of 0,1,2 rather than 1,2,3
Differentiate between file pointers and file descriptors.
Remove an assertion that prevents mergefunc from doing its magic.
Fix a possible memory corruption bug when using val::as
Bring back Joe's original test too
Add operator_new to smart_ptr_trait.
Rename smart_ptr_trait::operator_new to construct_null per feedback from Chad.
Add a test to verify we can use static constants defined in classes.
have VirtualFileSystem also depend on the file path so renaming shaders causes a rebuild