MacKenzie Scott donates $640m to US non-profits