Fix #539. ZCPU: Parse semicolon after return.

When an expression like `return 1` is encountered, it will leave the semicolon in the token stream. This isn't usually a problem except when the statement is in a braceless `if` statement, in which case the extra semicolon will prevent the parser recognizing that there is an `else` afterwards.
Merge latest fixes from Wiremod