Fix wreckage freezes, plus small tweaks

* Fixes #2926
* Calculate the wreckage's x and y only once when adding parts to it, since it doesn't change - recalculating it every loop iteration is wasteful
* smash() is more likely to outright destroy vehicle parts, for more wrecked-up wreckage.