Super Dev Mode: move RecompileListener event handling to Job

No externally visible changes.

Rationale: simplify event handling by putting Job in charge
of reporting events to listeners.

Other refactoring:
 - simplify initWithoutRecompile() so it doesn't need a Job.
   (It's not really a compile job anyway.)
 - simplify progress reporting in Recompiler by making Job
keep track of progress state.

Change-Id: Iec6639d31948a649c79941bacc2429efc6a7d548
6 files changed