Run PassManager in SyntaxHandler only on top-level circuit
Currently, the SyntaxHandler generates code for kernels which runs runs the PassManager after every kernel invocation, even when there is a parent kernel. Avoid this by running the PassManager only when optimize_only || is_callable.
Update the code used for compute-action blocks as well, because they were also triggering the original issue.
Fixes #196 (closed)