An abstract projection class and child mercprojection class

Ahh ... :|