Improve configurability for native x64/thumb emitter.

With MICROPY_EMIT_X64 and MICROPY_EMIT_THUMB disabled, the respective
emitters and assemblers will not be included in the code.  This can
significantly reduce binary size for unix version.
diff --git a/py/compile.c b/py/compile.c
index 68ac208..8db7c6d 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -3083,11 +3083,13 @@
     // compile pass 2 and 3
 #if !MICROPY_EMIT_CPYTHON
     emit_t *emit_bc = NULL;
+#if MICROPY_EMIT_NATIVE
     emit_t *emit_native = NULL;
 #endif
 #if MICROPY_EMIT_INLINE_THUMB
     emit_inline_asm_t *emit_inline_thumb = NULL;
 #endif
+#endif // !MICROPY_EMIT_CPYTHON
     for (scope_t *s = comp->scope_head; s != NULL && !comp->had_error; s = s->next) {
         if (false) {
             // dummy
@@ -3115,6 +3117,8 @@
             comp->emit_method_table = &emit_cpython_method_table;
 #else
             switch (s->emit_options) {
+
+#if MICROPY_EMIT_NATIVE
                 case EMIT_OPT_NATIVE_PYTHON:
                 case EMIT_OPT_VIPER:
 #if MICROPY_EMIT_X64
@@ -3131,6 +3135,7 @@
                     comp->emit = emit_native;
                     comp->emit_method_table->set_native_types(comp->emit, s->emit_options == EMIT_OPT_VIPER);
                     break;
+#endif // MICROPY_EMIT_NATIVE
 
                 default:
                     if (emit_bc == NULL) {
@@ -3140,7 +3145,7 @@
                     comp->emit_method_table = &emit_bc_method_table;
                     break;
             }
-#endif
+#endif // !MICROPY_EMIT_CPYTHON
 
             // compile pass 2 and pass 3
             compile_scope(comp, s, PASS_2);