Use the overlay 'window property to replace the indirect buffer

Originally, I use the indirect buffer to resolve the case when the
same buffer is showing in different window. This solution comes to
some issue when try to recover the indirect buffer. After some
investigation, I found overlay support the 'window property which
limit that overlay to show on a specific window. This is definitely
a better solution for this case. So this change is comming.