Switch Sprite to unique_ptr

USE CONST& EVERYWHERE WHEN USING SMART POINTERS, unless you want to give
away ownership