Insert context saves

Inserts ##save-context in blocks that need them. If an instruction does something that might trigger a GC sweep, such as calling a C function, then the context must be saved before.

Main word:
insert-save-contexts ( cfg -- )

The ##call-gc instruction does not need a context save because the primitive implementing the instruction (minor-gc) already saves the context for us.