Each collision type gets its own file now

This is to increase organization, as it would get messy with all
of the callback additions in one file.