py: Clean up and simplify functions in scope; add STATIC in compiler.

Some small code clean-ups that result in about 80 bytes ROM saving for
stmhal.
py: Allow viper to have type annotations.

Viper functions can now be annotated with the type of their arguments
and return value.  Eg:

@micropython.viper
def f(x:int) -> int:
    return x + 1
py: Fix typing of viper locals; allow default types in annotation.
py: Viper can now store to global.