some changes to dup()

- Changed `dup` to have `@property` to match the style of `std`.
- Added a working `dup` function to Sprite