serialization / patching support

 - add Value.set_element
 - remove as_int2
 - increase sanity: remove C++ List type, add is_list_based(), remove is_list2
 - increase sanity: is_struct and is_struct_type
 - Working version of compute_patch/apply_patch
ZMQ binding work

 - Raise error when requiring a module with static error
 - delete obsolete func native_patch_this()
 - add -live command line option
 - build fix (/usr/local/include). Change -live opt to -loop
initial ZMQ support

 - Raise error when requiring a module with static error
 - delete obsolete func native_patch_this()
 - add -live command line option
 - build fix (/usr/local/include). Change -live opt to -loop
 - cut out ZMQ
tcp and http parser support

 - build against libuv
 - add http_parser source
 - rename string_eq -> string_equals
 - string_equals now understands symbols
Emscripten build support

 - More hacking away removing std::string from to_string
 - Blobs are now strings
source_repro is now circa code instead of .cpp
Math support for GL

 - Rename Point -> Vec2
 - add Vec3 to stdlib
 - add GLM library and src/matrix.cpp
 - turn off libuv by default
Cleanup work

 - Delete obsolete "object" stuff. Delete type Mutable
 - rename CircaObject -> ObjectHeader
 - More implementation on switch-blocks
 - switch: source repro fixes
 - Support switch with value-comparison
Refactor StackBytecode into program.cpp

 - don't crash on using an unhashable value as hashtable key
GL related changes. Add matrix.ca

 - Fix cached() (was causing unnecessary refresh)
 - add Mat2 and Mat4 (empty for now)
 - Add circa_symbol_equals
 - Delete 3rdparty/glm
Stdlib improvements

 - Add circa_is_symbol
 - spring cleaning: remove Frame.callType
 - add channel_send and channel_read
 - add hsl_color
 - add List.split
Parser/interpreter work

 - rename 'type' keyword to 'struct'
 - Bug fix, triggered by for-loop where only some iterations had state
 - Save input property keys as symbols
 - parser refactor: move post-assignment to expression_statement
 - Fix issue with switch local rebinding
 - cleanup: move a bunch of Stack code to stack.cpp
 - prefer frame_block over frame->block
 - Stack.registers is now a flat list
New bytecode. Switch to more granular instructions to enable more opts

 - add path_get, path_set, path_delete
 - Get rid of block_ref, not really needed
 - bug fix in string_length; strings can have NULL data
Bug fixes

 - Prevent valgrind from complaining about tinymt
 - stop patching builtins when done bootstrapping
 - NativePatch pointers were being invalidated
 - add source_id() func
 - add List.flatMap, change List.flatten, change Stack.set_env & co
 - Make sure load_module() is idempotent
 - catch division by 0. Still need to improve error reporting
 - add Vec2.distance_sqr and magnitude_sqr
 - Bring back performance stat tracking
Move optimizations

 - Move-optimize list.append and list.concat
Cleanup

 - Move Block.staticErrors to be a property
 - delete function_contents (use nested_contents)
 - Delete generic.cpp, no longer used
 - add Block.world
 - remove the std::string version of Term.name
 - Fix move-optimization on stateful vals
 - fix move-optimization, check if a call uses the same input multiple times
 - remove unnecessary ListData.immutable
 - caValue -> Value
More move optimization. Also, bring back method lookup cache

 - Move-optimization for output() terms
 - use move() in popOutputsDynamic
 - Prevent unnecessary dupes in for-loop's unused output
Bytecode optimization. Add counter-based profiling

 - add per-term profiling counter
 - list_increase_capacity optimization: use realloc when possible
 - More list optimization: don't init new fields until needed
 - add uses_dynamic_dispatch, remove dirty_bytecode
 - Add block_has_state check
 - For-loop move-extract optimization
 - Reduce unnecessary FoldIncomingVarargs and CheckInputs
 - bug fix with term_is_observable_after and nonlocal
stdlib: add weighted_rand, rand_gaussian, fix pow() to use floats
original import of Perlin implementation from Cinder

(keep this commit in history)