py, compiler: Clean up and compress scope/compile structures.

Convert int types to uint where sensible, and then to uint8_t or
uint16_t where possible to reduce RAM usage.
diff --git a/py/emitnative.c b/py/emitnative.c
index af8b35f..a02b125 100644
--- a/py/emitnative.c
+++ b/py/emitnative.c
@@ -308,8 +308,8 @@
 
 STATIC void adjust_stack(emit_t *emit, int stack_size_delta) {
     DEBUG_printf("adjust stack: stack:%d + delta:%d\n", emit->stack_size, stack_size_delta);
+    assert((int)emit->stack_size + stack_size_delta >= 0);
     emit->stack_size += stack_size_delta;
-    assert(emit->stack_size >= 0);
     if (emit->pass > PASS_1 && emit->stack_size > emit->scope->stack_size) {
         emit->scope->stack_size = emit->stack_size;
     }