added bounds() and total_bounds(), inspired by GeoPandas