Changing the way the interpreter handles errors

- Added a separate structure for carrying the error message
- Rendering errors with HTML as opposed to just 'raise'