Enable unicode for Windows port so unicode tests give correct uPy output
Exclude some tests which always fail on windows
Merge pull request #891 from stinos/windows-tests

windows tests fixes
tests: Make printing of floats hopefully more portable.
stmhal, timer: Set freq from float; get timer source freq.

Timers now have the following new features:
- can init freq using floating point; eg tim.init(freq=0.1)
- tim.source_freq() added to get freq of timer clock source
- tim.freq() added to get/set freq
- print(tim) now prints freq
stmhal, timer: Improve accuracy of freq computation.
stmhal, timer: Fix timer.chanel so mode can be a keyword.
stmhal: Add config option to disable/enable CAN driver.
py: Make compiler return a proper exception on SyntaxError.
py: Implement proper context save/restore for eval/exec; factor code.

This has benefits all round: code factoring for parse/compile/execute,
proper context save/restore for exec, allow to sepcify globals/locals
for eval, and reduced ROM usage by >100 bytes on stmhal and unix.

Also, the call to mp_parse_compile_execute is tail call optimised for
the import code, so it doesn't increase stack memory usage.
stmhal: Use mp_uint_t where appropriate.

Found these by compiling stmhal with mp_uint_t of type uint32_t instead
of unsigned int.  This actually makes a difference to the code, but just
a curiosity.
unix: Detect and print compile error.
tests: Add check for micropython.native and then skip relevant tests.

If micropython.native decorator doesn't compile, then we skill all
native/viper tests.

This patch also re-enables the ujson_loads test on NT.

Addresses issue #861, and partially addresses issue #856.