Add collision types to collidables.

Adding enemy bullets that don't collide with enemies while player
bullets for instance do. Collision types are implemented using bitmasks,
so A only collides with B if its collides_with mask overlaps with B's
mask. Also changed so that player bullets don't collide with themselves
or the player.