[RDY] viml: impl profiling on top of uv_hrtime()

Should be better than gettimeofday() since libuv uses higher resolution
clocks on most UNIX platforms. Libuv also tries to use monotonic clocks,
kernel bugs notwithstanding.

Necessary for Windows, which doesn't have gettimeofday().

Relevant issue: #831

References for `STATIC_ASSERT`:
- http://www.pixelbeat.org/programming/gcc/static_assert.html
- http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/25870
- https://github.com/gagern/gnulib/blob/master/lib/verify.h
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407

**UPDATE**: Since we now have a platform abstract `uint64_t` type (`proftime_T`) instead of `LARGE_INTEGER` and `struct timeval`, I'm thinking of passing by value and perhaps even eliminating some of the one-line functions.

Ping: @justinmk @ZyX-I @equalsraf
Both sound decent enough to me, `timer` value implies a little bit more that it can't be used as an actual time, to me. (more like a relative time from an earlier call). What do you think?