Add tests and hopefully make the CylonEffect work

In theory this should work... in practise I'm not sure :) Please post video if it does!

/cc @spacekat @copiousfreetime