Started to implement the Java standard library more closely

- Sources can now be compiled with javac 6 (i.e don't require Java 8 anymore) 
- The optimized ArrayList (i.e. native based) was moved to a private package and is used instead of java.util.ArrayList. As it's used by some java.lang classes, it avoids loading a lot of dependencies for simple programs.
- Preliminary UTF8 support