TODO: * Write some tests. * Code Cleanup. * Figure out how not to have to close each if statement individually. * Is it possible to close blocks (functions, ifs, trys) without an explicit block delimiter or significant whitespace? * Is it possible to pass comments through cleanly and have them show up on the other end? This includes comments in the middle of array and object literals, and argument lists.