Created ProjectileLauncher Interface

This is done so that there can be a similarity between different
Projectile launchers, as each will be too different for subclasses to be
used.