replaced innerHTML with textContent
added setErrorMessage method for FileReader errors
broke canvas logic apart into smaller methods
broke button logic apart into smaller methods
v3.1.1: code refactoring