WIP: ij-core: use @Parameter injection
imagej.data: use @Parameter injection
imagej.ui: use @Parameter injection
imagej.core.commands: use @Parameter injection
imagej.core.tools: use @Parameter injection
OptionsLineWidth: remove debugging code
OptionsOverlay: avoid circ dep on OverlayService

At some point we probably want to restructure how the OptionsService
works in general, but this solution works for now.
ToolService: initialize lazily

This improves the service's initialization time by deferring
construction of data structures until they are actually needed.

It also avoids potential circular dependencies between the ToolService
and its Tools, since it is natural for a Tool to want to have a
reference to its associated ToolService.
UIService: initialize lazily

This improves the service's initialization time by deferring
construction of data structures until they are actually needed.

It also avoids potential circular dependencies between the UIService and
its UserInterfaces, since it is natural for a UserInterface to want to
have a reference to its associated UIService.