Further spraycan refactor progress
Entities restrict whether they are in a valid state for reskinning by overriding CanBeReskinned / CanBeRedirectSwapped
Unified the way the reskin error toasts are sent, added 2 more - getting toasts when a reskin failed is now more consistent vs just not being able to open the menu
Fixed not seeing the amount of seconds you need to wait when trying to reskin a recently damaged entity
Some cleanup, moved BaseEntity.Reskinning to its own file