More robust error handling

This pull request ensures that if an error is thrown in a frame, it doesn't prevent the next frame from being scheduled. Our loop method should continue to run, no matter what.