backend_agg 1px off.

first, with backends agg and cairo, increasing the dpi increases the
width of any edge that is drawn, is there a way to set this edge width

second, when using backend_agg, if i draw a patch with an edge at x=0
and the xlim(xmin=0) there's still a 1 pixel gap.
this does not occur at the y-axis. and the gap does not occur with
backend_cairo. should i report this at the tracker?

a script to reproduce the error is below.

from matplotlib.patches import Rectangle, Arrow
from matplotlib.figure import Figure
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
#from matplotlib.backends.backend_cairo import FigureCanvasCairo as FigureCanvas

alpha = 0
# NOTE: increasing the dpi increases the with of the edge.
dpi = 256
f = Figure(dpi=dpi)
c = FigureCanvas(f)
f.figurePatch.set_alpha(alpha) = f.add_axes((0,0,1,1), alpha=alpha, frameon=False, xticks=() , yticks=())

px_width, px_height = 512, 512
f.set_size_inches(px_width/dpi, px_height/dpi), 10), 10)

# NOTE: missing 1 pixel at x == 0
r = Rectangle((0, 0), 8, 8, fc='#ff0000')
f.canvas.print_figure('k.png', dpi=dpi)