Script access to tangent and bitangent, per face: how? Suppose you have a mesh; you go into Edit mode, 
set Transform Orientation to Normal, 
show 3D manipulator widget,
Pivot Point = Active Element,
face select mode, and then you select any one face:
immediately you will see a blue arrow representing the face normal,
and also a red and a green arrow representing the face's tangent and bitangent.

What is the most straightforward way to refer 
to said tangent and bitangent vectors from a Python script?
The API documentation confuses me with loops and uv's, yet, clearly,
Blender assigns a tangent and bitangent to each face without hesitation!
You access tangents and bitangents from MeshLoops:

import bpy
me = bpy.context.active_object.data

# tangents have to be pre-calculated
# this will also calculate loop normal
me.calc_tangents()

# loop faces
for face in me.polygons:
    # loop over face loop
    for vert in [me.loops[i] for i in face.loop_indices]:
        tangent = vert.tangent
        normal = vert.normal
        bitangent = vert.bitangent_sign * normal.cross(tangent)


To get tangent and bitangent of some face you need to average tangents and bitangents of every vertex in that face loop.