Split the annotation and processor into separate modules

That way, the processor does not have to be included at runtime
when including the annotation.