FFTConvolution now uses ExecutorServices

Removed interfaces MutiThreaded and Runnable.
Added constructors and methods to set ExecutorService.
Renamed run() to convolve().
When no ExecutorService is set on convolve(), it is created and
shutdown automatically.