issue35 - add ability to use any coordinate system

Code isn't very clean at the moment. Will fix this soon..
@anizami - I think that instead of having ``wcs, frame``, you could make it so we have ``input_system, output_system``, and either of these variables could be a string, frame, or WCS instance. The downside is that you need to do the kind of type checking like I showed above to make sure they are always converted to frames, but on the plus side you can then get rid of the ``inverted`` keyword since you can just swap the order in the ``inverted(self)`` method. Does this make sense?