Shared backend

Can compile hello world, can compile patterns and tailrec methods. Can compile array operations. Can compile both classes and objects.
I guess this should be `typeNameFilter`, not `takeAllFilter`? Also doc comment is wrong.