Tick limiter

Based on PR-time branch.

For headless (and possibly for lwjgl when in stateLoading on fast machines), in tick() sleep 1000 microseconds if the delta is zero since the last update.  This change dropped the load on my system by half according to the top process  monitor.

Hmm.   I was hoping putting this on a separate branch would make it obvious what was different between this and PR-time, but no luck.  Diff below
```
diff --git b/engine/src/main/java/org/terasology/engine/internal/TimeBase.java a/engine/src/main/java/org/terasology/engine/internal/TimeBase.java
index f7758f1..aff1f57 100644
--- b/engine/src/main/java/org/terasology/engine/internal/TimeBase.java
+++ a/engine/src/main/java/org/terasology/engine/internal/TimeBase.java
@@ -50,6 +50,15 @@
     public Iterator<Float> tick() {
         long now = getRawTimeInMs();
         long newDelta = now - last.get();
+        if (0 == newDelta) {
+            // running too fast, slow down to avoid busy-waiting
+            try {
+                Thread.sleep(0, 1000);
+            } catch (InterruptedException e) {
+                // do nothing
+            }
+            newDelta = now - last.get();
+        }
         if (newDelta >= UPDATE_CAP) {
             logger.warn("Delta too great ({}), capping to {}", newDelta, UPDATE_CAP);
             newDelta = UPDATE_CAP;
```