In 8.0, the TIleGrid adds its own "bitmap" property. This interfered, causing the exception reported in guide feedback:
```
Traceback (most recent call last):
File "code.py", line 59, in
File "code.py", line 40, in __init__
NotImplementedError: Call super().__init__() before accessing native object.
```
At one time, ulab's min and max had a bug where they returned an array
with a single item inside. This bug has been fixed (by 5.3.0) so remove
the workaround.
New times
```
Computing the RMS value of 100 numbers
traditional : 5.188ms [result=3535.843611]
ulab, with ndarray, some implementation in python : 0.504ms [result=3535.853624]
ulab only, with list : 0.636ms [result=3535.854340]
ulab only, with ndarray : 0.121ms [result=3535.854340]
```
The update to this PR removes `micropython`-specific code. Tested on an adafruit feather board with the following results:
```
Computing the RMS value of 100 numbers
traditional : 5.472ms [result=3535.843611]
ulab, with ndarray, some implementation in python : 0.500ms [result=3535.853624]
ulab only, with list : 0.655ms [result=3535.854340]
ulab only, with ndarray : 0.139ms [result=3535.854340]
```
The result of the second run might be misleading (seems to be faster than the third), because it does not contain the costs of the list-to-ndarray conversion (since that happens earlier, outside of time measurement).