Adds throw statement, revises internal error implementation.

- Working towards try/catch statements.
- Errors thrown by the interpreter now use actual Error objects.
- API revisions (`fh_throw` replaces `fh_error`).
- Allocation errors now have to exit manually, because they wouldn't be
  able allocate the Error object.
Updates TODO