Get collision mask as an integer, because it can't be pickled

Apparently `BitMask32` objects can't be pickled, which means that saving out the state of a `PSO` is currently broken. This commit changes the `get_into_collide_mask` method to return the mask as an integer, rather than `BitMask32`, and changes `set_into_collide_mask` to create a full bitmask from an integer input, rather than a bitmask with a single bit.

This could possibly break other things, so maybe requires a bit more thought, but definitely it should be possible to save out the bitmask in some way.