Python execution timing context manager class