objstr: Allow to define statically allocated str objects.

Similar to tuples, lists, dicts. Statically allocated strings don't have hash
computed.
diff --git a/py/objstr.c b/py/objstr.c
index 0f9e4fd..08db2af 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -10,13 +10,7 @@
 #include "runtime0.h"
 #include "runtime.h"
 #include "pfenv.h"
-
-typedef struct _mp_obj_str_t {
-    mp_obj_base_t base;
-    machine_uint_t hash : 16; // XXX here we assume the hash size is 16 bits (it is at the moment; see qstr.c)
-    machine_uint_t len : 16; // len == number of bytes used in data, alloc = len + 1 because (at the moment) we also append a null byte
-    const byte *data;
-} mp_obj_str_t;
+#include "objstr.h"
 
 STATIC mp_obj_t str_modulo_format(mp_obj_t pattern, uint n_args, const mp_obj_t *args);
 const mp_obj_t mp_const_empty_bytes;