How do you achieve parallel test execution in TestNG, and how do you handle thread safety for WebDriver instances?