Fix error message for memory access with negative address

User programs trying to access memory using a negative address would simply
trigger the bug report dialog, showing a StringIndexOutOfBoundException. This
commit adds logic to handle negative address memory accesses more elegantly,
displaying an error dialog with a clear message.

fixes #36