Add Google test library

This makes googletest available for use if you add the `testing` module in your project config file - i.e., `includeModule('testing')`. It defines `TORQUE_TESTS_ENABLED`, with which you should wrap all of your unit tests. It also defines two convenience macros. While before, tests with fixtures would look like this:

```c++
class VectorFixture : public ::testing::Test
{
   protected: Vector<S32> v, u;
};

TEST_F(VectorFixture, Length)
{
   EXPECT_EQ(v.length(), u.length());
}
```

They can now look like:

```c++
FIXTURE(Vector)
{
   protected: Vector<S32> v, u;
};

TEST_FIX(Vector, Length)
{
   EXPECT_EQ(v.length(), u.length());
}
```

So we can use actual class names in test names, which I think makes for clearer code with less noise and repetition (i.e. no more `TEST(ClassTest`).