objslice: Support arbitrary objects start, stop, and step.

Older int-only encoding is not expressive enough to support arbitrary slice
assignment operations.
diff --git a/py/obj.h b/py/obj.h
index 2a9ed3a..5f2b9d3 100644
--- a/py/obj.h
+++ b/py/obj.h
@@ -517,7 +517,7 @@
 void mp_obj_set_store(mp_obj_t self_in, mp_obj_t item);
 
 // slice
-void mp_obj_slice_get(mp_obj_t self_in, machine_int_t *start, machine_int_t *stop, machine_int_t *step);
+void mp_obj_slice_get(mp_obj_t self_in, mp_obj_t *start, mp_obj_t *stop, mp_obj_t *step);
 
 // array
 uint mp_obj_array_len(mp_obj_t self_in);