Shared backend

Can compile hello world, can compile patterns and tailrec methods. Can compile array operations. Can compile both classes and objects.