Fix invalid usage of Math.floor + simplify code

First:
Math.floor(3.2) -> 3
Math.floor(3.7) -> 3
Math.floor(-3.7) -> -4
Math.floor(-3.2) -> -4

Second:
3.2|0  -> 3
-3.2|0 -> -3

So, behaviour of these approaches are DIFFERENT on negative values. So:
http://stackoverflow.com/questions/596467/how-do-i-convert-a-number-to-an-integer-in-javascript

src/analyzer.c: simplified code.
src/library.js:
* Simplify code, potentially fix bugs with negative time values in many places.
* FIX bugs in handling of negative numbers in modf(), modff() and div()

Simplify code for other functions where we need integer part of floating-point number.
add test for modf negatives
use |0 in utf code
Merge branch 'floor' of https://github.com/socketpair/emscripten into incoming

Conflicts:
	src/runtime.js
fix test_rounding