Added Mouse, proper device selection support, and ChernoError (basic error printing), as well as some minor fixes