graphene-macros.h: Fix MSVC Compilation

Fix the typedef line when we don't have stdbool.h on Visual Studio, and
include stdbool.h on Visual Studio 2013 and later, as it does ship with it.
graphene-simd4f.h: Define Macros for MSVC Builds

...when it is possible to build the libraries with SSE2 intrinistics on
Visual Studio.  It is more or less like the SSE2/GCC version, but due to
syntactical differences we need to define these as macros for Visual
Studio, and there are still a some differences when we convert between
__m128 and __m128i.
graphene-line-segment.h: Allow Build on MSVC

MSVC is quite picky about types in regards to initialization, so split up
the initialization line to make everyone happy.
graphene-alloc.c: Allow aligned_alloc Behaviour on MSVC

MSVC supports aligned memory allocation, but with some differences, namely:

-It uses _aligned_malloc(), which does the same thing but with inverted
 parameters with aligned_alloc().

-Memory allocated with _aligned_malloc() must be freed with
 _aligned_free(), otherwise the program will abort.
graphene-simd4x4f.h: Allow Build On Visual Studio

Fix the initialization in graphene_simd4x4f_init() so that compilers will
be happy with the types, and add a definition for
graphene_simd4x4f_transpose_in_place(s) that is suitable for Visual Studio
when we have SSE2 intrinistic support.  The SSE2 initrinistic support, due
to ABI issues, like the GCC builds, are only supported on x64 builds, and
possibly x86 builds on MSVC 2013 and later using __vectorcall.
tests/graphene-test-compat.h: Allow Build on MSVC

Define graphene_assert_fuzzy_equals that is suitable on Visual Studio
builds, as it does not support typeof, and there are some differences in
syntax.  Later Visual Studio versions support similar functionality with
decltype.
Benchmark: Allow Aligned Allocation on MSVC

MSVC supports aligned allocation via _aligned_malloc(), which is similar to
aligned_alloc(), but with the parameters inverted.  Also, on MSVC, whatever
that is allocated with _aligned_malloc() must be freed with
_aligned_free(), otherwise the program will abort() internally by the CRT.
graphene-bench-utils.h: Export Symbols Via Compiler Attributes

Decorate the symbols in the headers so that the symbols can be exported, as
graphene-bench-utils.c needs to be built as a DLL.