tools, pyboard.py: Allow exec argument to be bytes or str.
py: Partially fix viper multi-comparison; add test for it.
examples: Update conwaylife to work with new LCD API.
stmhal: Add retry to SD card init.

This fixed an issue with a certain SD card sometimes not initialising
first time round.  See issue #822 for related, and thanks to
@iabdalkader for the idea.