Remove unneeded .travis.yml

As on travis-ci, it's set to ignore branches without .travis.yml
Use heuristic to adjust the frequency of recycle

When ballast is too small, a lot of CPU will be wasted on recycling.
When it's too big, memory will be wasted. As the system keeps tracking
the memory used/recycled, use it as the indicator to determine how much
memory the application needs.

The idea is: if the GC_Ballast after a recycle is lower than half of the
ballast, which indicates not a lot of memory can be recycled, increase
the ballast by half, such that it approximately has a whole size of
"ballast" of memory to use before next recycle happens; if GC_Ballast after
a recyle is as twice big as the ballast, which indicates more memory can
be recycled, reduce the ballast by half, so recycle runs more often.

This largely reduces the startup time of app that requires huge memory
Use memmove instead of memcpy

As the memory could overlap. Found by coverity
[Linux] Clear the buffer before showing the window GOB

or garbage will show up
[Linux] Fix the clipping
[Linux] Cleanup GOB when the window closes

This fixes the crash caused by:

>> load-gui
Fetching GUI...
>> a: view make gob! [text: "hello"]
== make gob! [offset: 1x115 size: 100x100 alpha: 255 text: "Window"]

>> view/as-is/no-wait a
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x1c00002
  Serial number of failed request:  219
  Current serial number in output stream:  219
[Linux] Clip the GOB against its parent GOB

This fixes the rendering problem as https://github.com/zsx/r3/issues/5
Merge branch 'atronix' into coverity_scan