refactor to reduce amount of injection to OpCompiler

This is a first step to hopefully reduce the amount of stuff going on in
OpCompiler
consolidate attr_readers
delegate more reliably to :ast in OpCompiler
squish to a5 something
update docs on OpCompiler#new