vm.readString(8|16) now takes in an optional encoding argument

Rather than returning a bytes object, it now returns a unicode object