Uses inspect.getinnerframes() instead of inspect.trace() to support python 3

Thanks @bfroehle for the first patch

This fixes #8