move path to the parent class

- move the `path` property from the `File` class to the parent `FileSystemEntry` class. This makes it available on the `Directory` class as well
- create a common abstract parent for both the `html` and `io` implementations
- fix tests for html, when compiled to JS. the `1 << 32` expressions was returning `0`, and this caused the `Random.nextInt()` call to fail with an exception
- copy paste issue in html_test.dart