WTimer: simplified, don't re-create the wheel
Tweet, TweetListWidget: Fix two refresh bugs

There is no length checking in TweetFilterModel._rowsInserted, therefore
if there is no new tweets available, a rowsInserted(parent 0, -1) will
be emitted. This is a bug. Fix it causing another issue.

TweetListWidget, SimpleTweetListWidget._hideBusyIcon hides busyIcon
when older tweets loaded, _rowsInserted hides busyIcon when newer
tweets loaded. If no new tweets available, the busyIcon won't
hide. Because of the rowsInserted(parent 0, -1) bug, busyIcon will
be hide. The bug causes a excepted behavior.

This commit add a parameter to nothingLoaded, indicates top/bottom.
_hideBusyIcon hides busyIcon on the top/bottom, according to this
parameter.