Rewrite tile-picker code

Description

The new add_kinds function for special artifacts messes up tiles, which rely on hardcoded tvals and svals to index tiles.

Separately, Shockbolt has asked if the tiles could be stored in a number of smaller files rather than one bit bitmap/png which requires an index. Given that there are about a thousand tiles in the game, this might be impractical on a single-tile level, but using the distinctions in object_base.txt and monster_base.txt would result in a couple of dozen files, each containing no more than fifty-odd tiles. That sounds like it might be better for everyone.

If you want to change things so that tile picking doesn't break with object name changes, then just replace the object name with the numeric sval. This is how things were a couple of years back - but then it was also more difficult to work out what individual lines in the pref file referred to. I think this way round is better, though - I'd rather have textual names to change than numbers to reshuffle, especially if we want to remove svals anyway (#1558).

I agree. Since Nomad has solved the immediate problem, we can give this some more thought. I am inclined to have more discussion about removing svals first, since it would make life much easier. Maybe a wiki page on how that might work?