Support non-binary error-reasons in define_js/4

define_js/4 did not include a pattern to match against non-binary values in
the error tuple that can be a result of evaluating call_driver/4. This caused
case_clause run-time errors when the reason for the error was not a binary.

({error, timeout} for example).