issue35 - add ability to use any coordinate system

Code isn't very clean at the moment. Will fix this soon..
Rather than assume that ``wcs`` and ``frame`` are two different kinds of systems, it might be cleaner to just have ``input_system`` and ``output_system``, then inside ``__init__``, you can always say e.g.

```
if isinstance(input_system, WCS):
    input_system = get_coordinate_system(...)
elif isinstance(input_system, six.string_types):
    ...
else:
```

and the same for ``output_system``. Then you can get rid of ``inverted``, and in the ``invert`` method you can just swap the order of the arguments.