Added composer support
major improvements.
moved plugin dir to src scope
refractored