support __sizeof__()

reports object sizes, storage needed for strides and dimensions + the data if its owned.
I'm not sure if its really a useful feature but its been requested twice, so why not. Based on patch by @ddasilva