Make running out of memory assert()

This replaces the `check_mem(...)` helper, that would call the usual `goto error;` trap with the new `assert_mem` which will exit with a failed assertion.

This will let me ignore an entire class of error for the cost of two things
  
  1. I can't catch OOM errors in client code
  2. OOM errors will crash the ruby(or other) interpreter in FFI mode

Not certain if the trade is worth it yet, but the code is here. On the upside, the `Failed to produce mesh` exceptions will only apply to actual logical failures rather than *also* meaning "You could be out of malloc()able memory", which could be seen as a positive.