Save and restore window-point
Save/restore the point of the first line in window
Refactor wlf:apply-winfo: do not repeat get-buffer
Fix wlf:apply-winfo: set current buffer

Current buffer was not set in wlf:apply-winfo.  That's why the change
in a6343ca4c44c0dec99d7aba61bcd8b264d1956a4 did not work well.
Set window point before recentering

This is to (hopefully) suppress possible window movement due to
set-window-point.
Set window *and* buffer in wlf:window-first-line-point

This avoids the following error:
move-to-window-line called from unrelated buffer
Fix wlf:apply-winfo for buffer-sharing case

When more than two windows shares the same buffer, the second and
later window point is set as the same as the first one.  This change
fix this problem, although the reason is unknown.

So let's forget about 75be4db6fcf975a789e465efbeb04fdacc0b3447...

You can check that the previous resetting code was actually working,
for example by calling `wlf:window-first-line-point' at the very end
of the function such as `e2wm:pst-window-toggle' and comparing what it
returns with the `:window-first-line-point' property.  However, when
`redisplay' is called at the end of wlf:apply-winfo, what
`wlf:window-first-line-point' returns differs from the
`:window-first-line-point' property.
Fix how wlf:apply-winfo set point

The change is analogous to the previous commit,
2359992aae09af91a9459f583b48670186689257.
Probably it didn't work by the same reason.
Merge pull request #3 from tkf/window-point

Save and restore window-point