There's now a much simpler solution than when this question was originally asked, five years ago.  A CSS Flexbox makes the two column layout originally asked for easy.  This is the bare bones equivalent of the table in the original question:
<div style="display: flex">
    <div>AAA</div>
    <div>BBB</div>
</div>
One of the nice things about a Flexbox is that it lets you easily specify how child elements should shrink and grow to adjust to the container size.  I will expand on the above example to make the box the full width of the page, make the left column a minimum of 75px wide, and grow the right column to capture the leftover space.  I will also pull the style into its own proper block, assign some background colors so that the columns are apparent, and add legacy Flex support for some older browsers.
<style type="text/css">
.flexbox {
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    width: 100%;
}
.left {
    background: #a0ffa0;
    min-width: 75px;
    flex-grow: 0;
}
.right {
    background: #a0a0ff;
    flex-grow: 1;
}
</style>
...
<div class="flexbox">
    <div class="left">AAA</div>
    <div class="right">BBB</div>
</div>
Flex is relatively new, and so if you're stuck having to support IE 8 and IE 9 you can't use it.  However, as of this writing, http://caniuse.com/#feat=flexbox indicates at least partial support by browsers used by 94.04% of the market.