Adds Function constructor (closes #11)

- Both this and `eval` now work in the REPL too!
- Function length is now set for user-defined functions, bit of an
  oversight there.
- May be additional edge cases to consider, will check those out along
  with eval.
Changes how `load`-ed scripts are read.

- Read the file into a string and hand off to `yy_scan_string`. Solves
  buffer switching/restarting issues with the lexer and scanner when
  in the REPL.