Why is C++ such a good choice for writing games?