feat(affix): keep width of affixed element

While using affix directive I encountered with this issue.

Future css `position: sticky;` will constrain position of floating elements, but affix directive doesn't do it.
This fixes makes affix behaviour more similar to future styles. However, it respects previous behaviour, so that if you implicitly set the width of element, it won't be changed.

I've provided some tests to ensure that it works.