You might want to take a look at Deadlands. I'm doing an RP set in it right now and it would hit a lot of those points for you.