Beam raycast now skips the tile the turret is mounted on, so
wall-embedded laser turrets can shoot outward.
Extract entity_is_enemy() into engine/entity.c as single source
of truth for enemy-type checks. Replaces triplicated type lists
in level.c, drone.c, and projectile.c that caused the collision
bug when new enemy types were added.
All three new entity types were absent from the hardcoded enemy-type
checks in is_enemy() (contact damage + projectile hits), homing
projectile targeting, and drone targeting. Also adds proper death
particle colors for charger (orange) and spawner (purple).
WIND directive in .lvl files sets a constant horizontal force (px/s^2)
that pushes entities, projectiles, and particles. Positive is rightward.
Wind is applied as acceleration in physics_update() (halved on ground),
directly to projectile and particle velocities, and as a gentle position
drift on flyers. Entities with gravity_scale=0 (drones, spacecraft) are
unaffected. Levels default to no wind when the directive is absent.