trio.c: Define modl, floorl and powl only when needed

They may have been defined on Visual Studio before 2013, so check for
their presence first.
diff --git a/trio.c b/trio.c
index 5ecedc5..c04a6e1 100644
--- a/trio.c
+++ b/trio.c
@@ -275,9 +275,15 @@
 #if (!(defined(TRIO_COMPILER_SUPPORTS_C99) \
  || defined(TRIO_COMPILER_SUPPORTS_UNIX01))) \
  && !defined(_WIN32_WCE)
-# define floorl(x) floor((double)(x))
-# define fmodl(x,y) fmod((double)(x),(double)(y))
-# define powl(x,y) pow((double)(x),(double)(y))
+# ifndef floorl
+#  define floorl(x) floor((double)(x))
+# endif
+# ifndef fmodl
+#  define fmodl(x,y) fmod((double)(x),(double)(y))
+# endif
+# ifndef powl
+#  define powl(x,y) pow((double)(x),(double)(y))
+# endif
 #endif
 
 #define TRIO_FABS(x) (((x) < 0.0) ? -(x) : (x))