Virtual dispatch
Fix several long standing issue in the backend
Add comment in makefiles for GDC, and several other patches
Add test for recusive function. Don't emit module eagerly to backend.