Refactor auto GPU capture code to support both device and frame capture. Add ability to automatically capture first GPU frame by setting `MVK_CONFIG_AUTO_GPU_CAPTURE_SCOPE` to `2`. Wrap GPU capture in autorelease pool to handle both cases of capture call being made in run loop as in an app GUI, or in one-shot app like CTS.