Bug fixes for traps

- make some members of the trap struct private and add getter functions.
- add a common trigger function for any kind of creature (useful for the creature rewrite)
- add a common can_see function for use by `g->u` (in future: npcs)
- add check for trap visibility to cata_tiles
- trigger unseen traps when placing new ones above them, warn about seen traps

Fixes #7023
Fixes #7510